#ifndef ICONFIG_H
#define ICONFIG_H


/** Struct represens config slot */
struct ServiceSlot
{
    std::string mHost;
    int mPort;

    int mWorkers;
};

/** Abstract config interface provides inforamtion about services slots */
class IConfig
{
 public:
    virtual ~IConfig() { }

    /** Get setting of Slot
     *
     *  @return
     *      false - if index out of range
     *      true - if success
     */
    virtual bool getSlotByIndex(unsigned int index, ServiceSlot &configSlot) = 0;

    /** Gets service's slots count */
    virtual int getSlotsCount() = 0;

};

#endif // ICONFIG_H
